package com.dawn.module.hospital.enums;

import lombok.Data;

/**
 * @description:
 * @author: cnsu-cmh
 * @time: 2024/8/7 13:17
 */
public interface BHConstants {

    String HIS_PROVIDER = "zlsoftv2";

    String COMPANY_NAME = "微信";

    String HOSP_NAME = "曲靖市马龙区中医医院";


    String E_INVOICE_OPERATOR = "微信";

    String ID_CARD_TEXT = "二代身份证";

    String MEDICAL_CARD_TEXT = "诊疗卡";

    String ORDER_TYPE_REG = "REG";
    String ORDER_TYPE_RECIPE = "RECIPE";
    String ORDER_TYPE_RECIPE_QR = "RECIPE_QR";
    String ORDER_TYPE_PRE_PAYMENT = "PRE_PAYMENT";

    String ORDER_TYPE_MEDICAL_COPY = "MEDICAL_COPY";

    String ORDER_TYPE_QRCODE_PAY = "QRCODE_PAY";

    String DICT_RECON_BILL_DOWNLOAD = "recon_bill_download";


    /**----------------------------- 微信相关 --------------------------------*/
    String PAY_PLATFORM_TYPE_WX = "wx";
//    String PAY_CARD_WX_CODE = "PAY_WX_JSAIPI";
//    String PAY_CARD_WX_HIS = "微信";


    String PAY_PLATFORM_TYPE_WX_NAME = "微信支付";
    String PAY_CARD_ABC_JSAIPI_CODE = "PAY_ABC_JSAIPI";
    String PAY_CARD_ABC_HIS = "微信";

    String PAY_CARD_WX_CODE = "PAY_WX_JSAIPI";
    String PAY_CARD_WX_HIS = "微信";

    String PAY_CARD_WX_CHS_CODE = "PAY_WX_CHS";
    String PAY_CARD_WX_CHS_HIS = "线上医保微信";


    /**----------------------------- 支付宝相关 --------------------------------*/
    String PAY_PLATFORM_TYPE_ALI = "ali";
    String PAY_CARD_ALI_CODE = "PAY_ALI_JSAIPI";
    String PAY_CARD_ALI_HIS = "支付宝小程序";

    String PAY_CARD_ALI_CHS_CODE = "PAY_ALI_CHS";
    String PAY_CARD_ALI_CHS_HIS = "线上医保支付宝";



    /**----------------------------- 其他 --------------------------------*/
    int CITY_CARD_CODE = 1;

    String USER_TYPE_TFSH = "TFSH";



    /**----------------------------- 应用渠道 --------------------------------*/
    CS WEIXIN_SERVICE_ACCOUNTS = new CS("WX", "WEIXIN_SERVICE_ACCOUNTS", "微信服务号");
    CS SELF_SERVICE_TERMINAL = new CS("TERMINAL", "SELF_SERVICE_TERMINAL", "自助终端机");
    CS ALIPAY_MINI_APPLET = new CS("ALI_MINI", "ALIPAY_MINI_APPLET", "支付宝小程序");
    CS PRESCRIPTIONS_QR_CODE = new CS("QR", "PRESCRIPTIONS_QR_CODE", "处方签二维码");
    CS AUTH_CODE_PAY_WX = new CS("09", "微信", "微信付款码支付");
    CS AUTH_CODE_PAY_ALI = new CS("10", "支付宝", "支付宝付款码支付");
    CS AUTH_CODE_PAY_ABC = new CS("ABCPAY", "中国农业银行", "农行付款码支付");




    /**----------------------------- 服务地址配置 --------------------------------*/
    CS HIS_SERVER_URI = new CS("HIS_SERVER_URI", "url.his-server", "his server uri");

    CS CALL_SERVER_URI = new CS("CALL_SERVER_URI", "url.call-server", "排队叫号系统接口地址");
    CS INVOICE_OPEN_SERVER_URI = new CS("INVOICE_OPEN_SERVER_URI", "url.invoice.open-server", "电子发票开票接口地址");
    CS INVOICE_CANCEL_SERVER_URI = new CS("INVOICE_CANCEL_SERVER_URI", "url.invoice.cancel-server", "电子发票取消接口地址");
    CS INVOICE_OPERATOR = new CS("INVOICE_OPERATOR", "url.invoice.operator", "电子发票开票操作员");
    CS HIS_WX_CHS_SERVER_URI = new CS("HIS_WX_CHS_SERVER_URI", "url.his-wx-chs-server", "his wx chs server uri");

    CS HIS_ALI_CHS_SERVER_URI = new CS("HIS_ALI_CHS_SERVER_URI", "url.his-alli-chs-server", "his ali chs server uri");

    CS EHEALTH_HOSPITAL_ID = new CS("EHEALTH_HOSPITAL_ID", "ehealth.hospitalId", "电子健康卡机构ID");
    CS EHEALTH_APP_ID = new CS("EHEALTH_APP_ID", "ehealth.appId", "电子健康应用授权appId");
    CS EHEALTH_APP_SECRET = new CS("EHEALTH_APP_SECRET", "ehealth.appSecret", "电子健康应用授权appSecret");


    CS MSG_APPID = new CS("MSG_APPID", "msg.appId", "微信公众号appId");
    CS MSG_ROOT_URL = new CS("MSG_ROOT_URL", "msg.root.url", "模板消息根地址");
    CS MSG_ID_OUTPATIENT = new CS("MSG_ID_OUTPATIENT", "msg.id.outpatient", "门诊缴费成功消息ID");
    CS MSG_ID_REGISTER = new CS("MSG_ID_REGISTER", "msg.id.register", "挂号成功消息ID");
    CS MSG_ID_REGISTER_CANCEL = new CS("MSG_ID_REGISTER_CANCEL", "msg.id.register.cancel", "退号消息ID");
    CS MSG_ID_PATIENT = new CS("MSG_ID_PATIENT", "msg.id.patient", "建档成功消息ID");
    CS MSG_ID_IN_HOSPITAL = new CS("MSG_ID_IN_HOSPITAL", "msg.id.inHospital", "住院预交成功消息ID");
    CS MSG_ID_REFUND = new CS("MSG_ID_REFUND", "msg.id.refund", "退费通知消息ID");
    CS MSG_ID_REFUND_APPLY = new CS("MSG_ID_REFUND_APPLY", "msg.id.refund.apply", "退款申请通知消息ID");
    CS MSG_ID_NOTIFY = new CS("MSG_ID_NOTIFY", "msg.id.notify", "医院消息提醒消息ID");
    CS MSG_ID_MEDICAL_APPLY = new CS("MSG_ID_MEDICAL_APPLY", "msg.id.medical.apply", "病历复印申请处理通知");
    CS MSG_ID_MEDICAL_EXAMINE_SUCCESS = new CS("MSG_ID_MEDICAL_EXAMINE_SUCCESS", "msg.id.medical.examine.success", "病历复印申请成功提醒");
    CS MSG_ID_MEDICAL_EXAMINE_FAILS = new CS("MSG_ID_MEDICAL_EXAMINE_FAILS", "msg.id.medical.examine.fails", "病历审核拒绝提醒");
    CS MSG_ID_MEDICAL_PAY_SUCCESS = new CS("MSG_ID_MEDICAL_PAY_SUCCESS", "msg.id.medical.pay.success", "订单完成通知");
    CS MSG_ID_MEDICAL_DELIVERY = new CS("MSG_ID_MEDICAL_DELIVERY", "msg.id.medical.delivery", "病历复印快递发出提醒");
    CS MSG_ID_MEDICAL_TAKE = new CS("MSG_ID_MEDICAL_TAKE", "msg.id.medical.take", "病案待取件通知");


    /**----------------------------- 患者URI --------------------------------*/
    CS HIS_GET_PATIENT_LIST = new CS("HIS_GET_PATIENT_LIST", "/patient/list", "获取绑定的档案集合");

    CS HIS_GET_PATIENT_ONE = new CS("HIS_GET_PATIENT_ONE", "/patient/one", "获取档案信息");

    CS HIS_GET_PATIENT_INFO = new CS("HIS_GET_PATIENT_INFO", "/patient/info", "获取档案信息");
    CS HIS_CREATE_PATIENT_INFO = new CS("HIS_CREATE_PATIENT_INFO", "/patient/create", "创建档案信息");
    CS HIS_SAVE_PATIENT_INFO = new CS("HIS_SAVE_PATIENT_INFO", "/patient/save", "保存档案信息");
    CS HIS_VERIFY_PATIENT_INFO = new CS("HIS_VERIFY_PATIENT_INFO", "/patient/verify", "档案实名验证");
    CS HIS_DEL_PATIENT_INFO = new CS("HIS_Ve_PATIENT_INFO", "/patient/del", "删除档案信息");

    CS HIS_GET_VISIT_NO = new CS("HIS_GET_VISIT_NO", "/patient/visitNo", "获取门诊号");


    /**----------------------------- 门诊缴费URI --------------------------------*/
    CS HIS_GET_OUTPATIENT_REGISTER_LIST = new CS("HIS_GET_OUTPATIENT_REGISTER_LIST", "/outpatient/register/unpay", "查询HIS缴费挂号单信息");

    CS HIS_GET_OUTPATIENT_ITEM_LIST = new CS("HIS_GET_OUTPATIENT_ITEM_LIST", "/outpatient/pay/list", "查询HIS缴费单详细");

    CS HIS_ADD_OUTPATIENT_BILL_ORDER = new CS("HIS_ADD_OUTPATIENT_BILL_ORDER", "/outpatient/add/outpatient/bill", "保存缴费单信息");
    CS HIS_ADD_OUTPATIENT_ORDER = new CS("HIS_ADD_OUTPATIENT_ORDER", "/outpatient/zl/add/outpatient/order", "保存缴费单医嘱处方信息");
//    CS HIS_ADD_OUTPATIENT_ORDER = new CS("HIS_ADD_OUTPATIENT_ORDER", "/outpatient/zl/add/outpatient/pric", "保存缴费单医嘱处方信息");

    CS HIS_GET_OUTPATIENT_BILL_ORDER = new CS("HIS_QUERY_OUTPATIENT_BILL_ORDER", "/outpatient/find/order", "查询缴费单信息");

    CS HIS_GET_OUTPATIENT_ORDER_ITEMS = new CS("HIS_GET_OUTPATIENT_ORDER_ITEMS", "/outpatient/find/outpatient/order", "查询缴费医嘱处方单据信息");

    CS HIS_GET_OUTPATIENT_ORDER_PRICES = new CS("HIS_GET_OUTPATIENT_ORDER_PRICES", "/outpatient/find/outpatient/price", "查询订单明细缴费项目");

    CS HIS_PAY_OUTPATIENT_ORDER = new CS("HIS_PAY_NAT_ORDER", "/outpatient/zl/success", "更新缴费单支付数据");

    CS HIS_PAY_NAT_ORDER = new CS("HIS_PAY_NAT_ORDER", "/outpatient/nat/pay/zlkm", "更新核酸缴费单支付数据");

    CS HIS_CHS_UPDATE_OUTPATIENT = new CS("HIS_CHS_UPDATE_OUTPATIENT", "/outpatient/update/pay/result", "医保支付更新");

    CS HIS_UPDATE_OUTPATIENT_PROCEDURE_STATUS = new CS("HIS_UPDATE_OUTPATIENT_PROCEDURE_STATUS", "/outpatient/update/procedureStatus", "更新缴费单his状态");

    CS HIS_GET_OUTPATIENT_SEE_RECORD = new CS("HIS_GET_OUTPATIENT_SEE_RECORD", "/outpatient/see/record", "获取历次门诊记录");

    CS HIS_ADD_OUTPATIENT_QR = new CS("HIS_ADD_OUTPATIENT_QR", "/outpatient/add/outpatient/qr", "创建处方单二维码");

    CS HIS_GET_OUTPATIENT_QR_PAGE = new CS("HIS_GET_OUTPATIENT_QR_PAGE", "/outpatient/page/qr", "处方单二维码分页");

    CS HIS_GET_OUTPATIENT_QR = new CS("HIS_GET_OUTPATIENT_QR", "/outpatient/find/qr/one", "获取处方单二维码");

    CS HIS_DRIVER_OPEN = new CS("HIS_DRIVER_OPEN", "/outpatient/driver/medical", "驾驶员体检自助开单");



    /**----------------------------- 挂号URI --------------------------------*/
    CS HIS_GET_REG_DEPT = new CS("HIS_GET_REG_DEPT", "/register/dept", "获取挂号科室");

    CS HIS_GET_REG_DOCTOR = new CS("HIS_GET_REG_DOCTOR", "/register/doctor", "获取挂号医生");

    CS HIS_GET_REG_FEE = new CS("HIS_GET_REG_FEE", "/register/fee/detail", "获取挂号费用明细");

    CS HIS_ADD_REG_ORDER = new CS("HIS_ADD_REG_ORDER", "/register/add/register/order", "创建挂号记录");

    CS HIS_LOCK_REG_NUMBER = new CS("HIS_LOCK_REG_NUMBER", "/register/zl/lock/number", "锁定挂号号源");

    CS HIS_GET_UNPAID = new CS("HIS_GET_UNPAID", "/register/list/unpaid", "未支付数据");

    CS HIS_UN_LOCK_REG_NUMBER = new CS("HIS_UN_LOCK_REG_NUMBER", "/register/zl/unlock/number", "解锁号源");

    CS HIS_GET_REG_ORDER = new CS("HIS_GET_REG_ORDER", "/register/find/order", "查询挂号单信息");

    CS HIS_GET_REG_INFO = new CS("HIS_GET_REG_INFO", "/register/find/info", "查询挂号单信息");

    CS HIS_PAY_REG_ORDER = new CS("HIS_PAY_REG_ORDER", "/register/zl/success/no/lock", "更新挂号单支付数据");

    CS HIS_REG_CANCEL = new CS("HIS_PAY_REG_ORDER", "/register/zl/cancel", "退号");

    CS HIS_MODIFY_CLINIC_NO = new CS("HIS_MODIFY_CLINIC_NO", "/register/modifyClinicNo", "更新挂号单门诊号");

    CS HIS_GET_SEE_RECORD = new CS("HIS_HIS_SEE_RECORD", "/register/see/record", "就诊记录");
    CS HIS_GET_WAIT_SEE = new CS("HIS_HIS_WAIT_SEE", "/register/wait/see", "获取候诊信息");
    CS HIS_CALL_WAIT_SEE = new CS("HIS_CALL_WAIT_SEE", "/get-patients-by-code", "排队候诊信息");
    CS HIS_CALL_SIGN_IN = new CS("HIS_CALL_SIGN_IN", "/plug-sign", "就诊签到");

    CS HIS_GET_REG_RECORD_LOCAL = new CS("HIS_GET_REG_RECORD_LOCAL", "/register/ali/record", "获取挂号单本地记录");

    CS HIS_UPDATE_REG_PROCEDURE_STATUS = new CS("HIS_UPDATE_REG_PROCEDURE_STATUS", "/register/update/procedureStatus", "更新挂号单his状态");


    /**----------------------------- 报告URI --------------------------------*/

    CS HIS_GET_CHECK_RECORD = new CS("HIS_GET_CHECK_RECORD", "/check/check/record", "查询检查报告信息");
    CS HIS_GET_CHECK_DETAIL = new CS("HIS_GET_CHECK_DETAIL", "/check/check/detail", "查询检查报告详情");
    CS HIS_GET_TESTREP_RECORD = new CS("HIS_GET_TESTREP_RECORD", "/check/testrep/record", "查询检验报告信息");
    CS HIS_GET_TESTREP_DETAIL = new CS("HIS_GET_TESTREP_DETAIL", "/check/testrep/detail", "查询检验报告详情");

    /**----------------------------- 电子发票URI --------------------------------*/

    CS HIS_E_RECEIPT_OPEN = new CS("HIS_GET_CHECK_RECORD", "/eReceipt/zl/open", "电子发票开票");
    CS HIS_E_RECEIPT_CANCEL = new CS("HIS_GET_CHECK_DETAIL", "/eReceipt/zl/cancel", "电子发票冲红");
    CS HIS_E_RECEIPT_QUERY = new CS("HIS_GET_TESTREP_RECORD", "/eReceipt/zl/query", "电子发票查询");

    /**----------------------------- 公共 URI --------------------------------*/

    CS HIS_GET_DRUGS_QUERY = new CS("HIS_GET_DRUGS_QUERY", "/publish/masterData/getDrugs", "药品信息查询");
    CS HIS_GET_ITEM_QUERY = new CS("HIS_GET_ITEM_QUERY", "/publish/masterData/getItems", "项目信息查询");



    /**-------------------------- 退费审核URI ----------------------------*/
    CS HIS_GET_MESSAGE_USER = new CS("HIS_GET_MESSAGE_USER", "/messageUser/getByTypeCode", "查询退费审核用户");
    CS HIS_GET_REFUND_EXAMINE = new CS("HIS_GET_REFUND_EXAMINE", "/refund/examine/one", "查询退费审核信息");
    CS HIS_SAVE_REFUND = new CS("HIS_SAVE_REFUND", "/refund/save", "保存退费信息");
    CS HIS_SAVE_REFUND_EXAMINE = new CS("HIS_SAVE_REFUND_EXAMINE", "/refund/examine/save", "保存退费审核信息");
    CS HIS_ADD_ORDER_NOTIFY = new CS("HIS_ADD_ORDER_NOTIFY", "/order/add/notify", "保存通知信息");



    /**----------------------------- 医保移动支付URI --------------------------------*/
    /** HIS医保接口 **/

//    CS CHS_HIS_FEE = new CS("CHS_HIS_FEE", "ZLKM.ULDFEEINFO_PAY_ORDER", "HIS医保接口分账数据");


    /**---------------------------- 业务数据URI-------------------------------*/
    CS HIS_GET_PATIENT_PAGE = new CS("HIS_GET_PATIENT_PAGE", "/patient/page", "病人档案分页");
    CS HIS_GET_PATIENT_COUNT_DAY = new CS("HIS_GET_PATIENT_COUNT_DAY", "/patient/count/day", "获得每天创建档案数量");
    CS HIS_GET_REGISTER_PAGE = new CS("HIS_GET_REGISTER_PAGE", "/register/page", "挂号数据分页");
    CS HIS_GET_REGISTER_COUNT_DAY = new CS("HIS_GET_REGISTER_COUNT_DAY", "/register/count/day", "获得每天挂号数量");
    CS HIS_GET_BILL_PAGE = new CS("HIS_GET_BILL_PAGE", "/outpatient/page/bill", "门诊缴费账单分页");
    CS HIS_GET_BILL_COUNT_DAY = new CS("HIS_GET_BILL_COUNT_DAY", "/outpatient/count/day", "获得每天缴费数量");
    CS HIS_GET_OUTPATIENT_PAGE = new CS("HIS_GET_OUTPATIENT_PAGE", "/outpatient/page", "门诊缴费数据分页");
    CS HIS_GET_INHOSPITAL_PAGE = new CS("HIS_GET_INHOSPITAL_PAGE", "/inHospital/page", "住院预缴数据分页");
    CS HIS_GET_INHOSPITAL_COUNT_DAY = new CS("HIS_GET_INHOSPITAL_COUNT_DAY", "/inHospital/count/day", "获得每天预交数量");
    CS QUERY_CDB_BILL = new CS("QUERY_CDB_BILL", "/yncdb/pay/statics/bill", "对账单");
    CS QUERY_CDB_PAY_AMOUNT_WEEK = new CS("QUERY_CDB_PAY_AMOUNT_WEEK", "/yncdb/pay/statics/payAmountWeek", "7日交易量");
    CS QUERY_CDB_NUM_COUNT = new CS("QUERY_CDB_NUM_COUNT", "/yncdb/pay/statics/numCount", "7日交易笔数");
    CS QUERY_CDB_PAY_COUNT = new CS("QUERY_CDB_PAY_COUNT", "/yncdb/pay/statics/payCount", "7日交易笔数");
    CS QUERY_CDB_PAY_TYPE_COUNT = new CS("QUERY_CDB_PAY_TYPE_COUNT", "/yncdb/pay/statics/payTypeCount", "7日交易笔数");
    CS QUERY_CDB_CHS_BILL = new CS("QUERY_CDB_CHS_BILL", "/yncdb/pay/statics/chs/bill", "移动支付对账单");
    CS QUERY_RECON_BILL_LIST = new CS("QUERY_RECON_BILL_LIST", "/yncdb/pay/recon/bill/list", "账单查询");
    CS QUERY_RECON_BILL_DOWNLOAD = new CS("QUERY_RECON_BILL_DOWNLOAD", "/yncdb/pay/recon/bill/download", "对账数据下载");

    CS HIS_GET_REGISTER_ABNORMAL_LIST = new CS("HIS_GET_REGISTER_ABNORMAL_LIST", "/register/list/abnormal", "挂号异常退费列表");
    CS HIS_GET_BILL_ABNORMAL_LIST = new CS("HIS_GET_BILL_ABNORMAL_LIST", "/outpatient/bill/list/abnormal", "门诊缴费异常退费列表");
    CS HIS_GET_REFUND_INFO = new CS("HIS_GET_REFUND_INFO", "/refund/info", "退费信息查询");

    /**----------------------------- 核酸系统配置 --------------------------------*/
    CS NAT_DEPT_NAME = new CS("NAT_DEPT_NAME", "nat.dept.name", "核酸开单科室名称");
    CS NAT_DOCTOR_NAME = new CS("NAT_DOCTOR_NAME", "nat.doctor.name", "核酸开单医生名称");
    CS NAT_HM = new CS("NAT_HM", "nat.hm", "核酸开单号码");


    /**----------------------------- 住院预交 -----------------------------------*/
    CS HIS_GET_INHOSPITAL_RECORD = new CS("HIS_GET_INHOSPITAL_RECORD", "/inHospital/list", "查询住院记录");
    CS HIS_GET_INHOSPITAL_INFO = new CS("HIS_GET_INHOSPITAL_INFO", "/inHospital/prepay", "查询住院信息");
    CS HIS_ADD_INHOSPITAL_PRE = new CS("HIS_ADD_INHOSPITAL_INFO", "/inHospital/add/prePay/order", "创建住院预交信息");
    CS HIS_PAY_INHOSPITAL = new CS("HIS_PAY_INHOSPITAL", "/inHospital/zl/success", "住院预交支付确认");

    CS HIS_GET_INHOSPITAL_ORDER = new CS("HIS_GET_INHOSPITAL_ORDER", "/inHospital/find/order", "查询住院预交单信息");

    CS HIS_HIS_INHOSPITAL_PRE_RECORD = new CS("HIS_HIS_INHOSPITAL_PRE_RECORD", "/inHospital/prePay/record", "查询住院预交记录");

    CS HIS_HIS_INHOSPITAL_PAY_RECORD = new CS("HIS_HIS_INHOSPITAL_PAY_RECORD", "/inHospital/prePay/list", "查询住院费用记录");

    CS HIS_HIS_INHOSPITAL_DAILY_RECORD = new CS("HIS_HIS_INHOSPITAL_DAILY_RECORD", "/inHospital/daily/record", "查询住院费用记录");
    CS HIS_HIS_INHOSPITAL_TOTAL_COST = new CS("HIS_HIS_INHOSPITAL_TOTAL_COST", "/inHospital/pay/record", "查询住院总费用");
    CS HIS_UPDATE_INHOSPITAL_PROCEDURE_STATUS = new CS("HIS_UPDATE_INHOSPITAL_PROCEDURE_STATUS", "/inHospital/update/procedureStatus", "更新住院预交单his状态");


    @Data
    public class CS {

        private final String code;
        private final String value;
        private final String msg;

        public CS(String code, String value, String message) {
            this.code = code;
            this.value = value;
            this.msg = message;
        }
    }
}
